<html>
<head><meta charset="utf-8"><title>soundness-etc · t-compiler/wg-nll · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/index.html">t-compiler/wg-nll</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html">soundness-etc</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="126992528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/126992528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#126992528">(May 23 2018 at 19:28)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> in light of the strategy of "focus on existing impl", we should probably review the soundness and other bugs and make sure they are getting fixed. For example, <a href="https://github.com/rust-lang/rust/issues/49354" target="_blank" title="https://github.com/rust-lang/rust/issues/49354">https://github.com/rust-lang/rust/issues/49354</a>, <a href="https://github.com/rust-lang/rust/issues/50716" target="_blank" title="https://github.com/rust-lang/rust/issues/50716">https://github.com/rust-lang/rust/issues/50716</a>, and <a href="https://github.com/rust-lang/rust/issues/47184" target="_blank" title="https://github.com/rust-lang/rust/issues/47184">https://github.com/rust-lang/rust/issues/47184</a> ...</p>



<a name="126992533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/126992533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#126992533">(May 23 2018 at 19:28)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="116118">@Matthew Jasper</span> you around and interested in taking any of those on?</p>



<a name="126992539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/126992539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#126992539">(May 23 2018 at 19:28)</a>:</h4>
<p>I thought there was one about implied bounds and NLL but can't find it now</p>



<a name="126993426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/126993426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#126993426">(May 23 2018 at 19:48)</a>:</h4>
<p>I'm around, I've just been busy enough that trivial bounds was taking up all of the time I had for Rust.</p>



<a name="126993467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/126993467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#126993467">(May 23 2018 at 19:50)</a>:</h4>
<p>Of those three, #49354 looks like the one I would be most interested in.</p>



<a name="126993588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/126993588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#126993588">(May 23 2018 at 19:52)</a>:</h4>
<p>That said I was looking at improving some of the move errors before then, but I'm not that happy with the approach I had for that so there isn't much that would be lost.</p>



<a name="126993642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/126993642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#126993642">(May 23 2018 at 19:52)</a>:</h4>
<p>sounds interesting indeed</p>



<a name="127079318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127079318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127079318">(May 25 2018 at 12:38)</a>:</h4>
<p>Seems like rust-lang/rust#47184 was fixed sometime between 1st Jan and 30th March!</p>



<a name="127079341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127079341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127079341">(May 25 2018 at 12:39)</a>:</h4>
<p>with a period in middle (observed from 15th Feb rustc) where we ICE'd with a related error: "unexpected region for local data ReStatic"</p>



<a name="127079388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127079388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127079388">(May 25 2018 at 12:40)</a>:</h4>
<p>I'll go ahead and at least bisect to the particular nightlies where each change occurred, to gain confidence that the bug is actually fixed.</p>



<a name="127082891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127082891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127082891">(May 25 2018 at 14:02)</a>:</h4>
<p>oh, whoops: I was using links as my browser and didn't see the full comment thread, so I didn't realize that this was known (namely <a href="https://github.com/rust-lang/rust/pull/48482" target="_blank" title="https://github.com/rust-lang/rust/pull/48482">rust-lang/rust#48482</a>)</p>



<a name="127083012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083012">(May 25 2018 at 14:05)</a>:</h4>
<p>I'm thinking that I will focus on finishing off that issue next</p>



<a name="127083016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083016">(May 25 2018 at 14:05)</a>:</h4>
<p>seems like something we <em>must</em> fix and it's a major architectural unknown</p>



<a name="127083019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083019">(May 25 2018 at 14:05)</a>:</h4>
<p>well, it doesn't have to be me</p>



<a name="127083022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083022">(May 25 2018 at 14:05)</a>:</h4>
<p>but somebody should :)</p>



<a name="127083028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083028">(May 25 2018 at 14:05)</a>:</h4>
<p><em>although</em> maybe not a blocker for issuing warnings...?</p>



<a name="127083591"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083591" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083591">(May 25 2018 at 14:18)</a>:</h4>
<blockquote>
<p>I was using links as my browser</p>
</blockquote>
<p>People like you <em>do</em> exist...</p>



<a name="127083676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083676">(May 25 2018 at 14:20)</a>:</h4>
<blockquote>
<blockquote>
<p>I was using links as my browser</p>
</blockquote>
<p>People like you <em>do</em> exist...</p>
</blockquote>
<p>(I had forgotten my AC adapter and so I was in emergency-mode trying to make my laptop as dumb as possible, moving all of my tasks to remote ssh sessions)</p>



<a name="127083698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083698">(May 25 2018 at 14:21)</a>:</h4>
<p>I'm looking at the issue now, going over your conversation(s) with <span class="user-mention" data-user-id="116107">@David Wood</span></p>



<a name="127083700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083700">(May 25 2018 at 14:21)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> ^</p>



<a name="127083708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083708">(May 25 2018 at 14:22)</a>:</h4>
<p>I did want to ask: You (niko) had said you don't want to deal with trying to deconstruct <code>let (a, b): (T, U);</code></p>



<a name="127083763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127083763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127083763">(May 25 2018 at 14:22)</a>:</h4>
<p>that leads me to ask: What is the alternative you are thinking of? We certainly should not build up a fake value of type <code>(T, U)</code> from the local variables <code>a</code>/<code>b</code></p>



<a name="127199226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127199226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127199226">(May 28 2018 at 10:21)</a>:</h4>
<p>Follow-up on this topic: I may have managed to implement deconstruction of <code>let (a, b): (T, U);</code>,</p>



<a name="127199497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127199497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127199497">(May 28 2018 at 10:28)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> I'm not sure I had a complete alternative in mind. I suppose deconstruction is the most straightforward sol'n in that case. We will have to handle other cases (e.g., <code>foo::&lt;...&gt;(...)</code>), and I suppose I thought maybe solving those other cases would help us here?</p>



<a name="127201020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201020">(May 28 2018 at 11:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> before I move too much further on this, I have a question about the <code>rustc::infer::canonical::Canonical</code> type</p>



<a name="127201027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201027">(May 28 2018 at 11:13)</a>:</h4>
<p>ok</p>



<a name="127201067"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201067" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201067">(May 28 2018 at 11:14)</a>:</h4>
<p>We have <code>struct Canonical&lt;V&gt; { variables: CanonicalVarInfos, value: V }</code></p>



<a name="127201069"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201069" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201069">(May 28 2018 at 11:14)</a>:</h4>
<p>(ask away, but also <a href="https://rust-lang-nursery.github.io/rustc-guide/traits-canonicalization.html" target="_blank" title="https://rust-lang-nursery.github.io/rustc-guide/traits-canonicalization.html">there is a chapter of the rustc-guide covering canonicalization</a>, though it focuses on the role it plays in trait selection)</p>



<a name="127201070"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201070" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201070">(May 28 2018 at 11:14)</a>:</h4>
<p>it says that the free inference variables have been number starting from 0 in order of first appearance</p>



<a name="127201081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201081">(May 28 2018 at 11:15)</a>:</h4>
<p>so my question is</p>



<a name="127201131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201131">(May 28 2018 at 11:16)</a>:</h4>
<p>in my code to deconstruct a pattern like <code>(a, b)</code>, and in parallel deconstruct the type <code>(T, U)</code></p>



<a name="127201135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201135">(May 28 2018 at 11:16)</a>:</h4>
<p>when I actually hit the base case of a binding, the API for <code>mir::UserAssertTy</code> requires a <code>CanonicalTy</code></p>



<a name="127201141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201141">(May 28 2018 at 11:16)</a>:</h4>
<p>so I need to conjure up a CanonicalVarInfos to plus in for the variables field of <code>Canonical</code></p>



<a name="127201151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201151">(May 28 2018 at 11:17)</a>:</h4>
<p>(one thing you could do would be to instantiate the variables in the infer ctxt and then recanonicalize)</p>



<a name="127201154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201154">(May 28 2018 at 11:17)</a>:</h4>
<p>Is the struct of the <code>Canonical</code> type something where the correspondence between the <code>CanonicalVarInfos</code> is based on the implicit order of the free variables</p>



<a name="127201157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201157">(May 28 2018 at 11:17)</a>:</h4>
<p>i.e. as I unzip a type's structure, conceptually I may have to also peel off CanonicalVarInfos ?</p>



<a name="127201199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201199">(May 28 2018 at 11:18)</a>:</h4>
<p>yeah, I would not personally take that approach, it's too delicate</p>



<a name="127201200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201200">(May 28 2018 at 11:18)</a>:</h4>
<p>Or can I just clone the original CanonicalVarInfos from the original large type</p>



<a name="127201203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201203">(May 28 2018 at 11:18)</a>:</h4>
<p>you could do <em>that</em>, just skip renumbering, though then the resulting type is not truly canonical</p>



<a name="127201205"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201205" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201205">(May 28 2018 at 11:18)</a>:</h4>
<p>ah I see</p>



<a name="127201210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201210">(May 28 2018 at 11:18)</a>:</h4>
<p>so the infos should match up</p>



<a name="127201214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201214">(May 28 2018 at 11:19)</a>:</h4>
<p>but it won't be canonicalized</p>



<a name="127201217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201217">(May 28 2018 at 11:19)</a>:</h4>
<p>hmm</p>



<a name="127201224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201224">(May 28 2018 at 11:19)</a>:</h4>
<p>e.g., if you had <code>(&amp;'_ u32, &amp;'_ i32)</code>, you would wind up with (for the RHS) <code>forall&lt;'0, '1&gt; &amp;'1 i32</code>, which is not truly canonical (where the <code>forall</code> refers to the "info" array)</p>



<a name="127201229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201229">(May 28 2018 at 11:19)</a>:</h4>
<p>this probably doesn't matter here</p>



<a name="127201232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201232">(May 28 2018 at 11:19)</a>:</h4>
<p>but it's generally a violation of the <code>Canonical&lt;..&gt;</code> contract</p>



<a name="127201235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201235">(May 28 2018 at 11:19)</a>:</h4>
<p>e.g., for caching</p>



<a name="127201287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201287">(May 28 2018 at 11:20)</a>:</h4>
<p>it might be simplest to recanonicalize</p>



<a name="127201304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201304">(May 28 2018 at 11:21)</a>:</h4>
<p>either by instatiating in the infer ctxt, as you mentioned... or perhaps by adding some new code that can take the old CanonicalVarInfos and the unzipped type(s) and then do the renumbering (and throwing out of unused var infos...)</p>



<a name="127201367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201367">(May 28 2018 at 11:23)</a>:</h4>
<p><span class="user-mention" data-user-id="116083">@pnkfelix</span> personally I'd say not worth writing the new code, but yes conceptually it's possible. Rather than doing that optimization, though, I'd prefer to do <a href="https://github.com/rust-lang/rust/issues/48417" target="_blank" title="https://github.com/rust-lang/rust/issues/48417">https://github.com/rust-lang/rust/issues/48417</a></p>



<a name="127201407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201407">(May 28 2018 at 11:24)</a>:</h4>
<p>actually, <span class="user-mention" data-user-id="116109">@Vytautas Astrauskas</span>, it'd be sort of something completely different, but maybe you are interested in <a href="https://github.com/rust-lang/rust/issues/48417" target="_blank" title="https://github.com/rust-lang/rust/issues/48417">https://github.com/rust-lang/rust/issues/48417</a> ? :) would be a nice refactoring</p>



<a name="127201410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201410">(May 28 2018 at 11:24)</a>:</h4>
<p>I'd have to explain what I had in mind</p>



<a name="127201426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201426">(May 28 2018 at 11:25)</a>:</h4>
<p>(it's more in the area of traits)</p>



<a name="127201428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Vytautas Astrauskas [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201428">(May 28 2018 at 11:25)</a>:</h4>
<p>Reading.</p>



<a name="127201429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jaime Valdemoros <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201429">(May 28 2018 at 11:25)</a>:</h4>
<p>If it involved refactoring I'd be keen to get involved (I'm working in the same group as <span class="user-mention" data-user-id="116109">@Vytautas Astrauskas</span> )</p>



<a name="127201472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201472">(May 28 2018 at 11:26)</a>:</h4>
<p>( though possibly also relevant here — if I'm correct, it could be a general overall speedup )</p>



<a name="127201479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127201479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127201479">(May 28 2018 at 11:26)</a>:</h4>
<p>I'll also leave a few notes on #50716</p>



<a name="127208832"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127208832" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127208832">(May 28 2018 at 14:46)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> another Q on <a href="https://github.com/rust-lang/rust/issues/47184" target="_blank" title="https://github.com/rust-lang/rust/issues/47184">rust-lang/rust#47184</a> : is it actually possible to check things like <code>foo::&lt;'static&gt;()</code> via injecting <code>UserAssertTy</code> ? We cannot feed the <code>'static</code> as an argument to that statement. I guess we <em>could</em> try to instantiate the generics of the fn signature, plugging in the <code>'static</code> for its lifetime parameter...</p>



<a name="127208898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127208898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127208898">(May 28 2018 at 14:48)</a>:</h4>
<p>it is not possible I don't think, I think we need a distinct mechanism</p>



<a name="127208900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127208900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127208900">(May 28 2018 at 14:48)</a>:</h4>
<p>I'm not 100% sure what I think that mechanism should be</p>



<a name="127208903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127208903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127208903">(May 28 2018 at 14:48)</a>:</h4>
<p>I had planned to look at the astconv code and see if we could modify it</p>



<a name="127208906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127208906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127208906">(May 28 2018 at 14:48)</a>:</h4>
<p>so that we capture each time we convert a type from HIR</p>



<a name="127208914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127208914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127208914">(May 28 2018 at 14:48)</a>:</h4>
<p>and somehow store that result for later reference</p>



<a name="127208927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127208927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127208927">(May 28 2018 at 14:49)</a>:</h4>
<p>idk, this is a bit tricky. @eddyb and I were talking about it too, he has opinions :)</p>



<a name="127208999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127208999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127208999">(May 28 2018 at 14:50)</a>:</h4>
<p>Is your thinking in part that we may do away with <code>UserAssertTy</code> if we were to add this other mechanism to which you allude?</p>



<a name="127209010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127209010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127209010">(May 28 2018 at 14:50)</a>:</h4>
<p>yeah, that's a question mark</p>



<a name="127277670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Julien Cretin (ia0) <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277670">(May 29 2018 at 22:24)</a>:</h4>
<p>When we talk about soundness, do we talk about a proof of soundness (proof of algorithm, not proof of implementation) or about fixing known soundness bugs?<br>
Also, do we talk about the soundness of the existing MIR-borrowck or the upcoming polonius version? Reading the weekly meeting of May 29th, I'm assuming we talk about the existing MIR-borrowck.</p>



<a name="127277830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277830">(May 29 2018 at 22:28)</a>:</h4>
<p>The tag <code>NLL-sound</code> is typically used for cases where MIR-borrowck is accepting code it should reject; which usually means that it is accepting code that is unsound.</p>



<a name="127277845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277845">(May 29 2018 at 22:29)</a>:</h4>
<p>This particular wg-nll topic, "soundness-etc", may or may not be so focused</p>



<a name="127277846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Julien Cretin (ia0) <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277846">(May 29 2018 at 22:29)</a>:</h4>
<p>Ok, thanks! So it's about fixing known issues in MIR-borrowck.</p>



<a name="127277854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Julien Cretin (ia0) <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277854">(May 29 2018 at 22:29)</a>:</h4>
<p>Ah ok :-)</p>



<a name="127277857"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277857" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277857">(May 29 2018 at 22:29)</a>:</h4>
<blockquote>
<p>Ok, thanks! So it's about fixing known issues in MIR-borrowck.</p>
</blockquote>
<p>yes</p>



<a name="127277864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277864">(May 29 2018 at 22:30)</a>:</h4>
<p>however, if someone wants to try to come up with a soundness proof</p>



<a name="127277921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277921">(May 29 2018 at 22:30)</a>:</h4>
<p>they certainly are welcome to do so. Though it may be good to talk to the Rust Belt folks like Ralf Jung about their work in this space</p>



<a name="127277938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pnkfelix <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277938">(May 29 2018 at 22:31)</a>:</h4>
<p>Rust Belt folks: <a href="https://plv.mpi-sws.org/rustbelt/" target="_blank" title="https://plv.mpi-sws.org/rustbelt/">https://plv.mpi-sws.org/rustbelt/</a></p>



<a name="127277948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/soundness-etc/near/127277948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Julien Cretin (ia0) <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/soundness-etc.html#127277948">(May 29 2018 at 22:31)</a>:</h4>
<p>Yes definitely, since they have the only formal description of a subset of the language that I know.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>